/*******************************************************************************
 * 版权：北京润尼尔网络科技有限公司，保留所有版权<br>
 * 版本：v1.0.0<br>
 * 文件：UICompositeSwitchButton<br>
 * 日期：2016年8月3日<br>
 * 作者：王志远<br>
 * 功能：开关按钮组件<br>
 * 
 * 修改记录：<br>
 * 日期 描述 更新功能<br>
 ******************************************************************************/

window.makeNamespace(window,"Rainier.UI.V2");


/**
 * 类型名称：Rainier.UI.V2.UICompositeSwitchButton<br>
 * 类型功能：创建切换开关<br>
 */
Rainier.UI.V2.UICompositeSwitchButton = Rainier.UI.V2.UIComposite.extend({
	
	NAME : "Rainier.UI.V2.UICompositeSwitchButton",
	
	/**
	 * 函数名称：Rainier.UI.V2.UICompositeSwitchButton.init<br>
	 * 函数功能：构造函数<br>
	 * 参数输入：objParentComposite  	父组件实例<br>
	 * 参数输入：objProperties		 	组件属性定义<br>
	 * {
	 * 		width		:"60";        //设置按钮宽度
	 * 		height		:"26";        //设置按钮高度
	 * }	
	 * 异常信息：<br>
	 */
	init : function(objParentComposite,objProperties){
		//使用父类初始化子类对象
		this._super(objParentComposite,objProperties);
	},

	/**
	 * 函数名称：Rainier.UI.V2.UICompositeSwitchButton.appendEventHandler<br>
	 * 函数功能：添加事件代理<br>
	 * 参数输入：无<br>
	 * 参数输出：无<br>
	 * 函数返回：无<br>
	 * 异常信息：<br>
	 */
	appendEventHandler : function(){		
		this.m_aEventList = ['onChange'];
		this._super();	
	},
	
	/**
	 * 函数名称：Rainier.UI.V2.UICompositeSwitchButton.createComposite<br>
	 * 函数功能：创建组件<br>
	 * 函数返回：无<br>
	 * 异常信息：无<br>
	 */
	createComposite : function(eleParent){
		this._super(eleParent);		
		var newEle = this.CreateElement("input",this.m_objProperties.id);
		eleParent.append(newEle);
		newEle.switchbutton(this.m_objProperties);
	},
	
	
	/**
	 * 函数名称：Rainier.UI.V2.UICompositeSwitchButton.options<br>
	 * 函数功能：返回选项属性<br>
	 * 参数输入：无<br>
	 * 参数输出：无<br>
	 * 函数返回：无<br>
	 * 异常信息：<br>
	 */
	options : function(){
		return this.getElement().linkbutton('options');
	},
	
	/**
	 * 函数名称：Rainier.UI.V2.UICompositeSwitchButton.resize<br>
	 * 函数功能：重设按钮尺寸<br>
	 * 参数输入：objOptions ： 选项对象<br>
	 * 参数输出：无<br>
	 * 函数返回：无<br>
	 * 异常信息：<br>
	 */
	resize : function(objOptions){
		this.getElement().linkbutton('resize',objOptions);
	},
	
	/**
	 * 函数名称：Rainier.UI.V2.UICompositeSwitchButton.disable<br>
	 * 函数功能：使按钮不可用<br>
	 * 参数输入：无<br>
	 * 参数输出：无<br>
	 * 函数返回：无<br>
	 * 异常信息：<br>
	 */
	disable : function(){
		return this.getElement().linkbutton('disable');
	},
	
	/**
	 * 函数名称：Rainier.UI.V2.UICompositeSwitchButton.enable<br>
	 * 函数功能：使按钮可用<br>
	 * 参数输入：无<br>
	 * 参数输出：无<br>
	 * 函数返回：无<br>
	 * 异常信息：<br>
	 */
	enable : function(){
		return this.getElement().linkbutton('enable');
	},
	
	/**
	 * 函数名称：Rainier.UI.V2.UICompositeSwitchButton.readonly<br>
	 * 函数功能：切换只读模式<br>
	 * 参数输入：mode ： 指定模式<br>
	 * 参数输出：无<br>
	 * 函数返回：无<br>
	 * 异常信息：<br>
	 */
	readonly : function(mode){
		return this.getElement().switchbutton('readonly',mode);
	},
	
	/**
	 * 函数名称：Rainier.UI.V2.UICompositeSwitchButton.check<br>
	 * 函数功能：选择按钮<br>
	 * 参数输入：无<br>
	 * 参数输出：无<br>
	 * 函数返回：无<br>
	 * 异常信息：<br>
	 */
	check : function(){
		return this.getElement().switchbutton('check');
	},
	
	/**
	 * 函数名称：Rainier.UI.V2.UICompositeSwitchButton.uncheck<br>
	 * 函数功能：取消选择按钮<br>
	 * 参数输入：无<br>
	 * 参数输出：无<br>
	 * 函数返回：无<br>
	 * 异常信息：<br>
	 */
	uncheck : function(){
		return this.getElement().switchbutton('uncheck');
	},
	
	/**
	 * 函数名称：Rainier.UI.V2.UICompositeSwitchButton.clear<br>
	 * 函数功能：清除按钮被选的值<br>
	 * 参数输入：无<br>
	 * 参数输出：无<br>
	 * 函数返回：无<br>
	 * 异常信息：<br>
	 */
	clear : function(){
		return this.getElement().switchbutton('clear');
	},
	
	/**
	 * 函数名称：Rainier.UI.V2.UICompositeSwitchButton.reset<br>
	 * 函数功能：重置按钮被选的值<br>
	 * 参数输入：无<br>
	 * 参数输出：无<br>
	 * 函数返回：无<br>
	 * 异常信息：<br>
	 */
	reset : function(){
		return this.getElement().switchbutton('reset');
	},
	
	/**
	 * 函数名称：Rainier.UI.V2.UICompositeSwitchButton.setValue<br>
	 * 函数功能：设置按钮值<br>
	 * 参数输入：value ： 按钮当前值<br>
	 * 参数输出：无<br>
	 * 函数返回：无<br>
	 * 异常信息：<br>
	 */
	setValue : function(value){
		return this.getElement().switchbutton('setValue',value);
	},
});